Learning Linux Binary Analysis by O'Neill Ryan "elfmaster"
Author:O'Neill, Ryan "elfmaster" [O'Neill, Ryan "elfmaster"]
Language: eng
Format: azw3
Publisher: Packt Publishing
Published: 2016-02-28T16:00:00+00:00
Maya's protection layers
Maya has multiple layers of protection and encryption. Each additional layer enhances the level of security by adding more work for an attacker to peel off. The outermost layers are the most useful for preventing static analysis, whereas the innermost layer (layer 1) only decrypts the functions within the present call stack and re-encrypts them when done. The following is a more detailed explanation of each layer.
Layer 1
A layer 1 protected binary consists of every single function of the binary individually encrypted. Every function decrypts and re-encrypts on the fly, as they are called and returned. This works because runtime.o contains an intelligent and autonomous self-debugging capability that allows it to closely monitor the execution of a process and determine when it is being attacked or analyzed.
The runtime engine itself has been obfuscated using code obfuscation techniques, such as those found on Scut's object obfuscator tool. The key storage and metadata for the decrypting and re-encrypting functions are stored in a custom malloc() implementation that uses an encrypted heap spawned by the runtime engine. This makes locating the keys difficult. Layer 1 protection is the first and most complex level of protection due to the fact that it instruments the binary with an intelligent and autonomous self-tracing capability for dynamic decryption, anti-debugging, and anti-exploitation abilities.
An over-simplified diagram showing how a layer 1 protected binary is laid out next to the original binary
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Deep Learning with Python by François Chollet(15178)
The Mikado Method by Ola Ellnestam Daniel Brolund(12444)
Hello! Python by Anthony Briggs(12318)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(11664)
Dependency Injection in .NET by Mark Seemann(11451)
A Developer's Guide to Building Resilient Cloud Applications with Azure by Hamida Rebai Trabelsi(10530)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(10271)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(9942)
Grails in Action by Glen Smith Peter Ledbrook(9605)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(9204)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(9106)
Hit Refresh by Satya Nadella(9040)
The Kubernetes Operator Framework Book by Michael Dame(8476)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(8475)
Exploring Deepfakes by Bryan Lyon and Matt Tora(8299)
Robo-Advisor with Python by Aki Ranin(8254)
Practical Computer Architecture with Python and ARM by Alan Clements(8227)
Implementing Enterprise Observability for Success by Manisha Agrawal and Karun Krishnannair(8197)
Building Low Latency Applications with C++ by Sourav Ghosh(8102)